Method and system for providing viewing notifications for a set-top box

ABSTRACT

The disclosed embodiments include a method for providing viewing notifications for a set-top box that includes the steps of: storing usage information associated with a media content received by the set-top box, the usage information containing a length of time that the media content was displayed; determining, using a processor, whether a viewing notification is to be sent to a particular user based on user preferences and the usage information; responsive to a determination that the viewing notification is to be sent to the particular user, retrieving a notification identifier associated with the particular user and sending the viewing notification regarding the usage information; receiving a response to the viewing notification from the particular user, wherein the response includes a partial command that is interpreted based on the viewing notification as a requested command to be performed by the set-top box; and performing, using the processor, the requested command.

CROSS REFERENCE TO RELATED APPLICATION

This application is a Continuation of U.S. patent application Ser. No.12/201,313 filed Aug. 29, 2008 entitled METHOD AND SYSTEM FOR PROVIDINGA CONTENT NOTIFICATION FOR A SET-TOP BOX, the entire teachings of whichare incorporated herein.

BACKGROUND

The use of communication networks has grown nearly exponentially inrecent years. The growth can be attributed to greater reliability,protocols, and hardware available for improved communication networks.As such, users have come to expect better communication from home, work,and on the go. With the availability of improved communication networks,users desire the ability to communicate easily with other users and userappliances. Thus, there is a need to provide improved communication tousers with the set-top box as well as with others through the use of aset-top box.

SUMMARY

The disclosed embodiments include a system, method, and computer programproduct for providing viewing notifications for a set-top box. In oneembodiment, the system, method, and computer program product areconfigured to cause one or more machines to perform operations thatinclude: storing usage information associated with a media contentreceived by the set-top box, the usage information containing a lengthof time that the media content was displayed; determining, using aprocessor, whether a viewing notification is to be sent to a particularuser based on user preferences and the usage information; responsive toa determination that the viewing notification is to be sent to theparticular user, retrieving a notification identifier associated withthe particular user and sending the viewing notification regarding theusage information; receiving a response to the viewing notification fromthe particular user, wherein the response includes a partial commandthat is interpreted based on the viewing notification as a requestedcommand to be performed by the set-top box; and performing, using theprocessor, the requested command.

BRIEF DESCRIPTION OF THE DRAWINGS

Illustrative embodiments of the present invention are described indetail below with reference to the attached drawing figures, which areincorporated by reference herein and wherein:

FIG. 1 depicts a system for implementing the provision of notificationsfor a set-top box in accordance with an embodiment of the presentinvention;

FIG. 2 depicts a set-top box for implementing the provision ofnotifications for a set-top box in accordance with an embodiment of thepresent invention;

FIG. 3 is a flow chart for implementing the provision of notificationsin accordance with an embodiment of the present invention;

FIG. 4 is a flow chart for implementing the provision of notificationsin accordance with an embodiment of the present invention;

FIG. 5 depicts a user interface for implementing the provision ofnotifications in accordance with an embodiment of the present invention;

FIG. 6 is a flow chart for implementing the provision of notificationsin accordance with an embodiment of the present invention;

FIG. 7 is a flow chart for implementing the provision of usageinformation in accordance with an embodiment of the present invention;

FIG. 8 depicts a user interface for implementing the provision ofnotifications in accordance with an embodiment of the present invention;

FIG. 9 is a flow chart for implementing the provision of responses tonotifications in accordance with an embodiment of the present invention;

FIG. 10 is a flow chart for implementing the provision of a web-basedcontent feed in accordance with an embodiment of the present invention;

FIG. 11 is a flow chart for implementing the provision of a web-basedcontent feed in accordance with an embodiment of the present invention;

FIG. 12 depicts a user interface for implementing the provision of aweb-based content feed in accordance with an embodiment of the presentinvention; and

FIG. 13 depicts a user interface for implementing the provision of aweb-based content feed in accordance with an embodiment of the presentinvention.

FIG. 14 depicts a system architecture in accordance with an embodimentof the present invention.

DETAILED DESCRIPTION

FIG. 1 depicts a system for implementing the provision of notificationfor a set-top box in accordance with an embodiment of the presentinvention. A network 100 is an infrastructure for sending and receivingsignals and messages according to one or more designated formats,standards, or protocols. A network 100 may provide for both wired andwireless communication between the various elements of FIG. 1.Embodiments may rely on a network 100 for communication between elementsas depicted, including, but not limited to, a user device 102, a set-topbox 104, a notification interface 106, a notification module 108, anotification database 110, a program guide database 112, a usageinformation database 114, a display 116, a pattern module 118, a portalserver 120, a portal client 122, a portal user interface 124, a contentfeed module 126, a content feed server 128, and a content feed database130.

Any number of networks and service providers may be used to facilitatecommunication between the elements of FIG. 1. Examples of availableimplementations for a network 100 may include, but are not limited to,satellite, WiFi, WiMAX, global systems for mobile (GSM), time divisionmultiple access (TDMA), code division multiple access (CDMA) wirelessnetworks, and/or hardwired connections, such as fiber optics, T1, cable,DSL, high speed trunks, and public switched telephone network (PSTN)lines. Various protocols may be employed to allow for communicationbetween the elements, such as TDMA, CDMA, GSM, personal communicationssystems (PCS), WiFi, WLAN, WiMAX, Hyper Text Transfer Protocol (HTTP),internet protocol suites (e.g., Transmission Control Protocol (TCP) andthe Internet Protocol (IP)), Voice-over-Internet protocol (VoIP) orother frequently used voice and data communications protocols andstandards.

A network 100 may provide the capability for a user device 102 toreceive and/or send notifications concerning a set-top box 104. A userdevice 102 allows for data and/or voice communication over a network.Embodiments of a set-top box 104 are described in this application withFIG. 2. User devices 102 may include, but are not limited to, mobiledevices, smart phones, cellular phones, Blackberry® devices, personaldigital assistances (PDA), mp3 players, laptops, computer systems,evolution data optimized (EDO) cards, multi-mode devices, and othercommunication devices and elements.

A notification interface 106 may allow for the communication between anotification module 108 and a user device 102. In one or moreembodiments, the notification interface 106 may be implemented as apiece of software to allow for sending and receiving notifications atthe user device 102. The notification interface 106 may allow forcommunication between the user device 102 and/or set-top box 104 and thenotification module 108 without requiring the notification module 108 tobe aware of the internal operation of the user device 102. Thenotification interface 106 may be implemented with one or morecommunication protocols, including but not limited to, instantmessaging, Short Message Service (SMS), and email. In some embodiments,the notification interface 106 may support interactive voice response(IVR) systems.

The notification module 108 may retrieve information to createnotifications from one or more databases or collections of data.Implementations of a database may include, but is not limited to,relational database(s), object-oriented database(s), and file system(s).The notification module 108 may create notifications in accordance withdefined notification preferences for one or more set-top boxes 104. Inone or more embodiments, a notification module 108 retrievesnotification preferences from a notification database 110. Thenotification database 110 may store various types of notificationpreferences concerning a set-top box 104, such as reminder notificationand content notification preferences.

A notification preference may have one or more notification preferencerules to indicate a user's preferences on receiving and/or sendingnotifications. A user may create a content notification rule to sendand/or display a notification to a recipient with an email address, aphone number, a group in a social network, an address for a set-top box104, a portal, or any other device implementing a notification interface106. A notification may include, but is not limited to, an email, a textmessage, a voicemail message, or any other type of communication.

To provide content reminder and content notification information fornotifications, a notification module 108 may rely on program guideinformation in some embodiments. A program guide database 112 may storeprogram guide information, and program guide information may encompassany information about scheduled broadcast of media content, such astimes, titles, genre, program summary, content retrieval mechanisms, andchannel. Media content is any audio and/or visual content that may bereceived by a set-top box 104.

A usage information database 114 may store usage information for aset-top box 104 or a particular user thereof. Usage information mayindicate media content received and/or selected for display at a set-topbox 104 or a particular user thereof. A usage information database 114may service a request for retrieval of usage information by thenotification module 108 and the notification interface 106. Usageinformation may be a list or a history for any length of time for mediacontent received and/or selected for display at a set-top box 104. Thenotification module 108 may create notifications in accordance withnotification preferences using the usage information for a set-top box104. In one or more embodiments, the usage information database 114 maystore usage information regarding all media content selected at aset-top box 104 for display, recording, and storage. The media contentselected at a set-top box 104 may be displayed on any type of display116, such as a television or monitor. Some embodiments may utilize theusage information on a plurality of set-top boxes 104. For example, auser may define a notification preference for information on mediacontent received by friends in a social network or community.

A pattern module 118 may be used by a notification module 108 toidentify patterns in the usage of one or more set-top boxes 104. Forexample, users may set up a content notification preference to monitorthe content received by friends in a social network and request that anotification be sent to the user when a sports television station iscurrently being watched by one or more friends. The pattern module 118may also be used to identify patterns in the usage information of asingle set-top box 104. For example, a pattern identified in the usageinformation may indicate the type of content received at a set-top boxduring certain times of the day.

In one or more embodiments, users may request that recipients receivenotifications at a portal server 120. The portal server 120 may beimplemented on a computer system and may accept various networkconnections to receive and service notification requests with thenotification module 108. The notification module 108 may be a softwareapplication installed on the portal server 120 and/or the portal server120 may forward or send requests to any number of servers that implementthe functionality of the notification module 108. A user may use aportal to access the portal server 120 and send requests fornotifications with a portal client 122. A portal may be a web site thatfunctions as a central point of access to information on the Internet.The portal may be implemented as a software application running on aportal server 120 and/or a portal client 122 that is accessed via a webbrowser over a network such as the Internet or an intranet. The portalmay be accessed from any computing system and/or user device to enablecommunication with or concerning a set-top box 104. Users may sendrequests for notifications on a portal client 122 using a portal userinterface 124 for the portal. Although FIG. 1 depicts a client-serversoftware architecture for enabling communication with a set-top box,there are many computer system architectures that may supportcommunication with a set-top box, including, but not limited to,peer-to-peer architectures, n-tier architectures, using an applicationserver, and any other distributed system architectures.

In one or more embodiments, a content feed module 126 may be softwarerunning on a content feed server 128 that services requests for contentfeeds from a content feed database 130. The content feed module 126 mayaccess program guide information at a program guide database 112 toidentify scheduled programs that are related to content contained incontent feeds. The content feed module 126 may provide televisioncontent identifiers for television programs related to a content feed sothat links to such television programs may be incorporated in thecontent feed or presented to a subscriber of a content feed on a display116. The content feed database 130 may store content feeds from contentfeed sources subscribed to by a user. The content feeds stored in thecontent feed database 130 may be acquired from a content source eitheron a push or pull technology basis or any combination thereof. Forexample, the content feed module 126 may request or “pull” updatedcontent from a server for a content feed source and/or a content feedsource may “push” updated content without a request being sent to aserver.

FIG. 2 depicts a set-top box for implementing the provision ofnotifications in accordance with an embodiment of the present invention.The set-top box 200 may include, but is not limited to, the followingelements: processor 202, memory 204, receiver 216, Digital VideoRecorder (DVR) module 206, user interface 208,Notification/Communication Interface 210, notification module 214, andtransceiver 212. The set-top box may communicate with various elementsof the system described in FIG. 1 over a network 100. The elements ofthe set-top box 200 itself may communicate through any number of busses,cards, connectors, jumpers, networks, or other connection elements. Thecomponents and description for the set-top box 200 may be similarlyapplicable to a user device, television, or network device operated by acommunications service provider.

The processor 202 is circuitry or logic enabled to control execution ofa set of instructions. The processor 202 may be a microprocessor,digital signal processor (DSP), central processing unit,application-specific integrated circuit (ASIC), or other device suitablefor controlling an electronic device. The processor 202 may have one ormore hardware and software elements that execute software instructions,programs, and applications, converting and processing signals andinformation, and performing other related tasks. The processor 202 maybe a single processor or a combination of processors integrated withother computing or communications elements.

The memory 204 is a hardware element, device, or recording mediumconfigured to store data for subsequent retrieval or access. The memory204 may be static or dynamic memory. The memory 204 may include a harddisk, random access memory (RAM), cache, removable media drive, massstorage, or configuration suitable as storage for data, instructions,and information. In one embodiment, the memory 204 and processor 202 maybe integrated. The memory 204 may use any type of volatile ornon-volatile storage techniques and mediums. The memory 204 may store orqueue communications, notifications, or messages that are received or tobe sent. For example, the memory 204 may store all notifications,messages or communications that are received or sent by the set-top box200, and allow for display of the notifications on an interconnectedtelevision, monitor, or other user device.

The receiver 216 and DVR module 206 are elements of the set-top box 200that manage the receipt, storage and playback of media content. Thereceiver 216 and DVR module 206 may be implemented as any combination ofhardware and/or software that may be configured through the set-top boxuser interface 208. The media content received by the set-top box 200may include, but is not limited to, content feeds, television programs,video on demand (VOD), real-time events, video clips, photographs, webpages, interactive content, or other media content. The set-top box 200may also include a notification/communication interface 210 to controlthe receipt, storage, and playback of media content as well as send andreceive notifications or communications. In one or more embodiments, thenotification/communication interface 210 may be implemented to provideany of the functionality described above with the notification interface106 in FIG. 1.

The set-top box user interface 208 is an interface that allows a user tointeract with the set-top box 200. Set-top box user interface 208 may bean interactive menu displayed onto a television or other display toallow a user to control the functionality provided by the set-top box.In another embodiment, the set-top box user interface 208 may control aninteractive voice response system for presenting the user with variousoptions and receiving user input.

The set-top box 200 may include a transceiver 212 to enable thetransmittal and receipt of commands, signals, media content,information, messages, and other data through a wired or wirelessconnection. The transceiver 212 may utilize TCP/IP, Signaling System #7(SS7), Bluetooth, WiFi, ethernet, or other signals, protocols, formats,or message types to communicate with other devices.

The notification module 214 may communicate with other elements toprovide usage information for the set-top box 200. Any change of mediacontent or receipt of media content at the set-top box 200 may becommunicated to a user or stored at a database. The notification module214 may be implemented as any combination of software and/or hardware.In one or more embodiments, the notification module 214 of the set-topbox 200 may provide a portion of the functionality described above withthe notification module 108 in FIG. 1. For example, the notificationmodule 214 may provide notifications directly to user devices.

FIG. 3 is a flow chart for implementing the provision of remindernotifications in accordance with an embodiment of the present invention.A reminder notification is a type of notification that serves a reminderto a recipient that media content specified in a reminder notificationrule may be accessed. In one or more embodiments, the provision ofreminder notifications is implemented as a set of instructions that areexecuted on any combination of the following: a server, a client, and/ora set-top box. Initially, a reminder notification rule for a recipientmay be determined (300). A reminder notification rule may be determinedby retrieving the reminder notification rule from a database or anyother form of computer data storage. The reminder notification rule maybe received directly from a user with the use of a notificationinterface 106. Another embodiment may have a user create a remindernotification rule with a user interface, such as the notificationinterface 106 or the portal user interface 124.

A reminder notification preference may consist of one or more remindernotification rules. A reminder notification rule may have one or moredescriptors for media content including, but not limited to, a broadcasttime, a content category (e.g., drama, comedy, sports, pay-per view,sitcom, movie, etc.), a particular actor, director or producer, acontent type (e.g., web page, television broadcast, etc.), a televisionstation, a title, or any keyword that allows for the identification ofmedia content. In one or more embodiments, the reminder notificationrule may have a descriptor for media content that relies on the usageinformation for any number of set-top boxes. For example, a user maycreate a reminder notification rule to receive a notification for anysitcom episode broadcast during primetime viewing hours that has notbeen selected to be displayed or stored by a group of set-top boxesaccording to the usage information collected on the group of set-topboxes.

Next, a database may be queried for one or more selections of scheduledmedia content in accordance with the reminder notification rule(s)(302). Any number of databases may be queried to satisfy the remindernotification rule(s) for a notification preference, such as a usageinformation database 114, a program guide database 112, a notificationdatabase 110, a metadata database, a media content database, a webindex, a file system, or any database that facilitates access to mediacontent. A scheduled media content selection is media content that isscheduled to be available for selection at a set-top box 104. The mediacontent may be already available for selection at a set-top box 104 ormay be scheduled to be available at a later date. In one or moreembodiments, a query for scheduled media content selections will returnany number of address(es), link(s) to access the media content,television station(s), or any information on how to receive the mediacontent.

A reminder notification may then be sent to any number of recipientsbased on the query result (304). A user may create a remindernotification rule to send content to a recipient with an email address,a phone number, a group in a social network, an address for a set-topbox 104, a portal, or any device implementing a notification interface106. Alternatively, the query results may indicate that a remindernotification does not have to be sent. The content of remindernotification may be determined by a user or the notification mayindicate that reminders or stored content is waiting for retrieval. Inone or more embodiments, a user may request that reminder notificationsbe directly inserted into a calendar in a scheduling/calendaringsoftware application.

FIG. 4 is a flow chart for implementing the provision of notificationsin accordance with an embodiment of the present invention. Initially, arequest is received to create a reminder notification preference for arecipient (400). In some embodiments, a user may send a request tocreate a reminder notification preference by using a portal, such aswith the submittal of a form or any input method available on a web pageof a portal. In one or more embodiments, the request for a remindernotification may be a response to a previous notification for the userand the reminder notification preference or a reminder notification rulemay be created from the earlier notification. For example, if the userreceived a reminder notification that media content of interest to theuser was scheduled to be broadcast that evening, then the user couldsend a request to receive a reminder notification for the next broadcastof the media content and the notification module 108 could use theearlier reminder notification to create one or more remindernotification rules.

Next, input to establish a reminder notification rule is received (402).Input to establish a reminder notification rule may be input by using aportal. In one or more embodiments, input options to establish rules maybe provided by a third party to a user and the user may select that thethird party establish rules for reminder notifications received by theuser. For example, a user may subscribe to receive remindernotifications from a third-party that reviews media content and allowthe third-party to establish rules for their set-top box.

After a reminder notification rule is established, a request is made tohave reminders sent to the recipient based on the reminder notificationpreference (404). In one or more embodiments, a request is received at anotification module 108 to send a reminder notification in accordancewith a reminder notification preference. Reminder notificationpreferences and reminder notification rules may be stored in anotification database 110 for retrieval by the notification module 108.In some embodiments, a notification module 108 may determine if arecipient has requested not to receive reminder notifications and willallow a reminder notification to be sent to the recipient.

FIG. 5 depicts a user interface for implementing the provision ofnotifications in accordance with an embodiment of the present invention.In FIG. 5, a reminder notification user interface entitled “ContentReminder GUI” 500 is provided as an example of an interface for thepresent invention. It will be understood by those with skill in the artthat any number of interfaces may be provided to create, delete, andupdate reminder notifications. Embodiments of the present invention mayrequest that security information be input in order to create remindernotifications, such as a username and password as shown for “AccountNumber 1234567” in FIG. 5. The following examples of input for creatingreminder notification preferences and the corresponding remindernotification rules are depicted with 504: a drop down menu for the typeof notification to be received with “Reminder” selected, text inputs fortitle descriptors for media content with “The Office” and “Lost”selected, a drop down menu for the method of receiving notificationswith “wireless” selected, a text input for the reminder notificationwith “You need to get to a TV! The Office is going to be on soon!”selected, a drop down menu for a channel descriptor with “NBC Only”selected, a drop down menu for text descriptor for episodes with “NewOnly” selected, a drop down menu for text descriptor for timing with “30mins” selected, and a text input for the recipients of the notificationswith “Mike Goergen and Jane Goergen” selected. In one or moreembodiments, a phone number, an address, or other contact informationmay be input to ensure that a recipient receives the notification.

FIG. 6 is a flow chart for implementing the provision of notificationsin accordance with an embodiment of the present invention. Initially,security information is received (600). Security information may beinput at a web portal in some embodiments. The security informationallows for the identification of a user authorized to establish rulesfor receiving notifications regarding the assigned set-top box. In oneor more embodiments, the security information includes identificationinformation for a user that has been assigned the set-top box, such as ausername and password associated with the set-top box. Theidentification information may include account information that uniquelyidentifies a user, a set-top box owner, or a subscriber who receivesmedia content with a set-top box. The security information may be anysecurity mechanism that ensures that an owner of a set-top box controlsall content notifications for the set-top box. For example, the set-topbox owner may prefer that content notifications and usage informationonly be retained during times that the set-top box owner is notsupervising use of the set-top box.

Next, a request to create a content notification preference for theset-top box is serviced (602). A content notification preference mayhave one or more content notification rules. A content notification rulemay indicate how media content for a set-top box should be monitored.The request to create a content notification preference may be servicedin response to successful entry of security information. Successfulentry of security information may ensure that only authorized users areable to create notification preferences and that unauthorizednotifications are not sent to recipients. In one or more embodiments,the security information may be input by a user at a web portal.Alternatively, unsuccessful entry of security information may result indenial of the request to create a content notification preference.

Servicing a request to create a content notification preference mayentail creating one or more content notification rules. For example, acontent notification preference may have a content notification rulespecifying that a recipient be alerted when media content received on aset-top box is pay-per view content. The content notification rules maybe input with a user interface, such as the notification interface 106or the portal user interface 124. A content notification preference andcorresponding content notification rules may be updated using a userinterface. The content notification preference may be updated byretrieving a current version of a content notification preference from adatabase or any other form of computer data storage and updating thecontent notification preference with the new input for the contentnotification preference. A content notification rule may be receiveddirectly from a user with the use of a notification interface 106. Forexample, a user may send an instant message with a content notificationrule to monitor a set-top box for receipt of media content selected fromchannel 5.

Next, the media content received by a set-top box is determined (604).The media content may have been selected for display or recorded andsaved to the set-top box. In one or more embodiments, a usageinformation database 114 is accessed to determine the media contentreceived by a set-top box. The usage information may also be retrievedfrom memory 204 at the set-top box 200. The storage of usage informationwill be described in further detail below with FIG. 7.

After media content received by a set-top box is determined, a contentnotification preference associated with the set-top box is determined(606). The content notification preference includes one or more contentnotification rules to monitor media content received by a set-top box. Acontent notification rule may be determined by retrieving the contentnotification rule from a database or any other form of computer datastorage. The content notification rule may be received directly from auser with the use of a notification interface 106.

Another embodiment may have a user create a reminder notification rulewith a user interface, such as the notification interface 106 or theportal user interface 124. A user may make requests with the interfacefor creation of a content notification preference. The contentnotification rule may be established from input received through a userinterface to create the content notification preference. For example,the user may input information in a form on a web portal in order tocreate a content notification rule.

The content notification rules may provide that media content for aset-top box be monitored in ways including, but not limited to, thefollowing: during a certain time of day, a content rating (e.g., R,PG-13, etc.), a content descriptor, a set-top box identification number,and/or a duration of time. A user may desire to monitor the frequencythat a set-top box is viewed on any given day or a user may desire tomonitor a set-top box in a child's room. Those skilled in the art willrecognize that there are any number of rules that can be provided to theuser as options for monitoring content at a set-top box.

After the content notification preference is determined, a notificationis sent to a recipient based on the content notification preference(608). In one or more embodiments, the provision of contentnotifications is implemented as a set of instructions that are executedon any combination of the following: a server, a client, and/or aset-top box. A user may create a content notification rule to send anotification to a recipient with an email address, a phone number, agroup in a social network, an address for a set-top box 104, a portal,or any device implementing a notification interface 106. Alternatively,a content notification rule may indicate that a content notificationdoes not have to be sent. The information provided in the contentnotification may follow a standard template or may be completelycustomizable by a user.

One embodiment of the present invention combines notifications forset-top boxes with social networks. A social network is any community ofpeople who share interests and activities, or who are interested inexploring the interests and activities of others. A social networkwebsite provides a variety of ways for users within the network tointeract, such as email or SMS. Social network members may permit one ormore other social network members access to their usage information forset-top boxes. A social network member that has access to the usageinformation for another member may create notification preferences andthe corresponding notification rules to monitor the media contentreceived at member set-top boxes. A social notification preference maybe one or more social notification rules to allow for creation of socialnotifications to be sent to or received by members of a social network.A social notification is any type of notification that may be sent tomembers of a social network. A social network member that has access tothe usage information for another member may create notificationpreferences and the corresponding notification rules to receive remindernotifications for content that is of interest to one or more othermembers. For example, a user may create a content notification rule toreceive a content notification when one or more friends that are membersof a social network are watching a sports game on ESPN.

Notifications may be sent to social network members in accordance withthe notification preferences. Embodiments may utilize the availablecommunication options within the social network and send notificationsto recipients through the social network. Notifications may be sent tomembers of social networks with recipient information provided with thenotification preference. Notifications may also be published on thecommunity website for members of the social network with similarinterests.

Although reminder and content notifications are described as differenttypes of notifications, the functionality for reminder and contentnotifications may be applied in combination. For example, a user mayrequest to receive a content monitoring notification for media contentselected at set-top boxes by a majority of friends in a social network,and request to receive a content reminder each time the media contentidentified in a content monitoring notification is scheduled forbroadcast.

FIG. 7 is a flow chart for implementing the provision of usageinformation in accordance with an embodiment of the present invention.In one or more embodiments, the provision of usage information isimplemented as a set of instructions that are executed on anycombination of the following: a server, a client, and/or a set-top box.Initially, a request for usage information for a set-top box is received(700). The request for usage information may concern managing orquerying a usage information database 114. The request may indicate thatusage information for the set-top box should be retrieved and/or storedin a database for later retrieval, such as the usage informationdatabase 114. The request for storage/retrieval of usage information maybe sent by a user through the use of a web portal, a user device 102, orfrom the notification module 108. The request may indicate that usageinformation for the set-top box should begin to be or resume beingstored at a database or in memory at a set-top box.

In one or more embodiments, the request for usage information may be aquery for the usage information stored at the usage information database114. The query may be written in any database query and/or databasemanagement language, such as Structured Query Language (SQL). A querymay have criteria for data retrieved from a database. For example, aquery for the database may specify that usage information for a set-topbox for a particular date be retrieved with “Select * fromSetTopBoxAInfo where date=‘04102008’.” A query result from the query maybe a Boolean value, a number of rows, or any data structure providing aresult set for row(s) from a table in the database that meets thecriteria of the query. Criteria for a query of the database may include,but is not limited to, a user, a show type, a date, commonly watchedtelevision shows, an actor's name, an episode, a count for the timespent watching media content, a value for a column in a database table,a column in a database table, a table in a database, and a keyword. Theusage information database 114 may aggregate usage information from aplurality of set-top boxes. The usage information database 114 may storeinformation under user profiles to differentiate usage information for aplurality of users such as, for example, the members of a household inresponse to detected viewing patterns, a user identifier, or otherbehavior or information enabling a set-top box to determine the identityof a user. In such a manner, a set-top box may automatically determinewhich user profile to update with usage information. In one embodiment,a “household profile” or other combined profile may be used to aggregateand track the overall use of all viewers of one or more set-top boxes.

A usage information database 114 may also interface with Internetwebsites, electronic television guides, or a cable provider's programguide to obtain additional information associated with particular usageinformation. For example, usage information database 114 may populatedatabase fields with additional information regarding the televisionshows viewed based on additional information available on the Internetthat is not otherwise available on the set-top box. In one embodiment,predetermined or user-definable query buttons may be utilized. Forexample, a “missed episodes” query button may be utilized and selectedto display to a viewer those episodes of all of or a particular one of aviewer's favorite shows that the viewer has not yet viewed or recorded.For further example, a “favorite actor” query button may be utilized todisplay all upcoming movie broadcasts included in a program guide thatinclude all of or one of the favorite actors of a viewer, as previouslyindicated by such user or as automatically determined from a viewer'susage information. The results of a query may be sent to a user device102, portal client 122, or set-top box 104.

Next, usage information on media content received at the set-top box issent (702). The usage information may be sent (702) to a database inorder to store the usage information for subsequent retrieval. The usageinformation may be sent (702) in the form of a query result to be viewedat a user device and/or a portal. The usage information may be retrievedfrom a usage information database 114 or sent directly from the set-topbox 104 as requested. The request may indicate that a user desires thatthe usage information be retrieved in accordance with a notificationpreference, and a response to the request may be limited to usageinformation that falls into a particular category of media content. Apattern module 118 may be used to determine patterns in the usageinformation to provide information to a user on patterns of contentreceived by a particular set-top box.

A change of media content received at a set-top box and/or displayed atthe set-top box may be detected (704). Information regarding the changemay be delivered in real-time directly from the set-top box 104. Thenotification module 108 may need the delivery of usage information inreal-time in order to provide accurate notifications to recipients. Thechange in media content may be needed to fulfill a request (706) and theusage information on the media content is sent in accordance with arequest (702). In one or more embodiments, the change in media is sentto a usage information database to ensure that the set-top box usageinformation is stored.

In one or more embodiments, a notification preference may need the usageinformation (706) and the usage information for the change in the mediacontent may be sent (702). The usage information may be sent directly tothe user in a notification and/or sent to a usage information database114 for storage (702).

Alternatively, the usage information (706) may not be retained. Forexample, a set-top box owner may request that no usage information bestored for the set-top box or that only a select portion of usageinformation be stored. The usage information database 114 may beconfigured to aggregate information from multiple set-top boxes. Theusage information database 114 may aggregate information for a family, abusiness, a communications service provider, an organization, or anyother entity. In an embodiment, a user may be required to grantauthorization for a communications service provider or other externalorganization to aggregate usage information. The usage informationdatabase 114 may aggregate usage and viewing information based onoptions, settings, and any other user preferences. For example, the userpreferences may specify that viewing information is recorded only forchildren within a home from 3:30 p.m. to 12:00 p.m. and the viewinginformation is automatically displayed to a parent on one or morespecified days or times. In another embodiment, the viewing informationmay be automatically sent in a message, such as an email or text messageto a specified device or posted to a user accessible website.

The usage information database 114 may store information for multipleuser profiles. The viewing information may be tracked individually, forgroups of individuals, and/or collectively. For example, the set-topboxes may be utilized by various family members in different locationswithin a home with the set-top boxes communicating viewing informationto one or more of the set-top boxes. The identity of a user may bedetermined based on viewing patterns and selection or other userbehavior or information. In another embodiment, a user may input apassword, a name, a pin, any other user identifier and/or identificationinformation. A remote control may also be configured to read abiometric, such as a fingerprint, to determine the user accessing andcontrolling a specific set-top box.

The usage information database 114 may track viewing information for anynumber of topics or contacts. In one embodiment, the usage informationdatabase 114 may track the favorite or most frequently viewed programs,ratings, channels, actors, series, and other information. The usageinformation database 114 may interface with Internet websites,electronic television guides, a cable provider's program guide to obtainadditional information associated with user viewing information. Forexample, an external television database may be accessed by the usageinformation database 114 to extract additional information, such asactors, directors, and rating. The usage information database 114 mayalso extract interactive content or information of interest to a userthat is not available through the set-top box, such as actorbiographies, quizzes, product placements, and other information. Theusage information database 114 may also be configured to trackcategories or types of viewer content. The types or categories of viewercontent may include educational, movies, cartoons, dramas, comedies,action, nature, horror, and other similar topics.

The viewing information within the usage information database 114 may betracked for specific time periods, such as per day, week, month, andyear. As a result, a summary or history of selected viewing informationmay be displayed to one or more authorized users for a specified timeperiod. In another embodiment, a user may track viewing information fora time period, such as winter vacation, the school year, or threespecific days.

The usage information database 114 may compile information regardingepisodes, movies, and series watched by the user. The usage informationdatabase 114 may communicate with a DVR integrated with or external tothe set-top box to record specified information. The usage informationdatabase may interact with a program guide to record content or providethe users content reminders. The content reminders may be output througha display or sent in a message from the set-top box. The usageinformation database 114 may interact with the DVR to perform a smartDVR function of automatically recording missed episodes, programs, ormovies that the user has not viewed. As a result, the user may be ableto watch movie sequels the user has not previously seen based on thecompilation of viewing information through the usage informationdatabase 114 and interactivity of the DVR. In one embodiment, missedepisodes may also be queried by a user to display upcoming televisionbroadcasts included in a program guide that are unwatched by the user.Any number of criteria or factors may be utilized to record content thatmay be of interest to one or more users. The usage information database114 may specify the content that was automatically recorded for a userand what factors prompted the usage information database 114 to commandthe DVR to record the content. Any number of automatic selectionelements, content, or interactive features may be utilized to access theviewing information stored for multiple users within the usageinformation database 114.

In one embodiment, the user may select to review viewing informationbased on a specific date or time period. A calendar interface mayprovide a visual display of viewing information for each day, week,month, or year. For example, the user may select to view movies andtelevisions reviewed during a fall break to recommend a movie to afriend. The viewing information may also be shared with a friend orother authorized user based on permissions or an invitation.

In one or more embodiments, usage information stored in a usageinformation database 114, as described with FIG. 7, may be displayed ona web portal. A user of a web portal may personalize their web portal todisplay usage information for one or more set-top boxes. The usageinformation may have information on all content received and/or selectedfor display at a set-top box, including, but not limited to, timereceived/displayed, set-top identification, title of content, type ofcontent, ratings for content, program guide information, televisionepisode information, and any information regarding the content. The usermay choose to view the usage information that pertains to anynotification or notification preferences and/or patterns identified inviewing habits.

FIG. 8 depicts a user interface for implementing the provision ofnotifications in accordance with an embodiment of the present invention.In FIG. 8, a reminder notification user interface entitled “ContentNotification—User Settings” 800 is provided as an example of aninterface for the present invention. It will be understood by those withskill in the art that any number of interfaces may be provided tocreate, delete, and update content notifications. Embodiments of thepresent invention may request that security information be input inorder to create reminder notifications, such as a username and passwordas shown for “Account Number 1234567” in FIG. 8. The following ways toprovide input for creating content notification preferences andcorresponding content notification rules are depicted 802: a text inputfor a notification preference entitled “Name-Notification Preference,” atext input for a notification rule entitled “Notification Rule,” and atext input for a recipient entitled “Notification Receiver.” Examples ofways to provide input to edit notification preferences are depicted 804and 806: a text input for a notification preference entitled“Name-Notification Preference,” a text input for a notification ruleentitled “Notification Rule,” a text input for identification of aset-top box entitled “Set-top Box,” a text input for time entitled“Time,” and a text input for a recipient entitled “NotificationReceiver.”

FIG. 9 is a flow chart for implementing the provision of responses tonotifications in accordance with an embodiment of the present invention.Initially, a notification is sent in accordance with a notificationpreference for a set-top box (900). In one or more embodiments, thenotification preferences are reminder notification preferences asdescribed above with FIGS. 3 and 4 and/or content notificationpreferences as described above with FIG. 6. The notification may containinformation to allow for interpretation of a partial command, such asinformation on media content available to be received by the set-topbox. A user may receive the notification at a user device and send acommunication with a partial command in response to the notification toperform commands relating to the notification. A partial command may bea text string that is interpreted with a notification to be a commandfor a set-top box. For example, a user may send a text message with apartial command as follows, “R Office” and the text message combinedwith a reminder notification as follows, “The ‘Office’ television showepisode that has not been received for viewing by set-top box A will bebroadcast in 15 minutes,” the text message can be interpreted to recordthe Office episode in 15 minutes on set-top box A. A user may leave avoice message for the set-top box that is converted into the followingtext “S R.” The partial command “S R” combined with the followingcontent notification “Recording of R rated movie began on set-top box B”may be interpreted to be a command to stop the recording of the R ratedmovie.

Next, a communication with a partial command for a set-top box isreceived from a user device (902). A user device, such as user device102, may use a Notification/Communication 106 Interface to send thecommunication with a partial command for a set-top box. In one or moreembodiments, the user may send the communication directly to a serverknown to have software to handle requests for interpretation of partialcommands for a set-top box or the communication may be sent directly toa set-top box. Those skilled in the art will recognize that there aremany ways to identify a communication that contains partial commands fora set-top box. The communication may be sent directly to a set-top boxwith a communication interface and a notification module to interpretthe partial command, as shown in FIG. 2.

In some embodiments, a partial command may be identified in acommunication at any server intercepting communications, parsing atleast a portion of the communication, and recognizing the portion of thecommunication as indicated that the communication contains a partialcommand. For example, the communication may be written in a languagedeveloped for communicating partial commands or contain some form ofidentifier indicating the communication contains a partial command.

After the communication is received, the partial command is interpretedin view of the notification (904). In order to interpret the partialcommand, the partial command may be extracted from the communication byparsing the communication and the partial command may be interpretedwith a notification retrieved from a database. For example, acommunication with a partial command “Stop Download” that references amonitoring notification “Pay per view is being downloaded to set-top boxA” can be interpreted to be a command to prevent the download of the payper view content at set-top box A. The communication may reference theappropriate notification to allow for interpretation of the partialcommand with the correct notification. As described above, thecommunication may be identified as containing a partial command and anyinformation that makes the partial command incomplete as a command for aset-top box may be inferred or interpreted with the use of anotification.

A command may then be sent to a set-top box based on the partial commandand the notification (906). The command may then be executed by theset-top box. As indicated above, the set-top box may perform theinterpretation of the partial command and execute the command.

FIG. 10 is a flow chart for implementing the provision of a web-basedcontent feed in accordance with an embodiment of the present invention.Initially, a content feed is received at a set-top box (1000). A contentfeed is a summary of frequently updated content. The content feed itselfmay consist of one or more content summaries for each piece of contentprovided in the content feed. A content summary provides information oncontent, such as a description, title, publication date, or any otherrelevant information on the content. In one or more embodiments, thecontent feed may be an XML document with one or more document elementsprovide a summary of content. Embodiments may use a content feed that isan aggregation of content feeds and/or content feed documents fromvarious sources (e.g., RSS). A user may subscribe to receive contentfeeds from one or more sources. A content feed reader may be employed toextract information on each piece of content from the document todisplay the content. A web-based content feed may provide links to webpages that provide further information on content summarized in thecontent feed. In one or more embodiments, a web-based content feed maybe subscribed to by a user on a web page.

In one or more embodiments, the content feed may be retrieved from acontent feed database 130 with a content feed module 126. The contentfeed module 126 may be software executing on a content feed server 128that handles requests for links to television programs to be placed in aweb-based content feed. The content feed module 126 may service requestsby providing television content identifiers to allow retrieval of thetelevision program or by providing a web-based content feed withembedded links to the television programs. A television contentidentifier provides enough information to allow for the retrieval of atelevision program associated with the television content identifier ina television broadcast.

Next, a television broadcast is received at a set-top box (1002). Thetelevision broadcast has audio and visual content for one or moretelevision programs. A user may select a particular television programfrom the television broadcast to be displayed with the user interfacefor the set-top box.

A television program is then identified from the television broadcastthat relates to a portion of the web-based content feed (1004). Thetelevision program may relate to content in a web-based content feed ifthe television program may provide more information on the contentsummarized within the web-based content feed. In one or moreembodiments, metadata associated with a television program may indicatethat the television program is related to a content summary within theweb-based content feed. Some embodiments may rely on a third-party toprovide information on both the content in a web-based content feed anda television programs.

A determination is made as to whether a portion of the web-based contentfeed is selected for display at a time that coincides with a broadcasttime for the television program (1006). If the portion of the web-basedcontent feed that relates to the content in the feed is displayed when atelevision program is scheduled to be broadcast, then a link to thetelevision program may be displayed with the web-based content feed.Broadcast times for the television programs may be obtained by queryinga program guide database. By providing the link in the web-based contentfeed, the viewer may select the link and have media content displayedswitched to the television program that provides further information onthe content displayed in the web-based content feed.

In one or more embodiments, the link to the content is only provided inthe web-based content feed if the user indicates that the content is ofinterest to a viewer of the set-top box. A viewer may provide contentpreferences indicating types of content that the user would like toreceive links for in a web-based content feed. For example, a viewer mayindicate keywords (e.g. Embarq) or content categories (e.g. U.S. news)are content preferences, and the links should be provided if the keywordis in the web-based content feed or the content in the web-based contentfeed falls into a particular category.

Next, a television content identifier is associated with a portion ofthe web-based content feed (1008). The television content identifierallows for the retrieval of the television program in the televisionbroadcast. The television content identifier may be a televisionchannel, an address for stored content, or any identifier that providesaccess to content. The television content identifier is stored in adatabase and may be associated with the portion of the web-based contentfeed in the database.

The television content identifier is retrieved in response to a requestto create a link (1010). If links to television programs are desired ina web-based content feed, then the television content identifiers may beretrieved that relate the respective portions of the web-based contentfeed and such television content identifiers may be embedded in theweb-based content feed. In one or more embodiments, content preferencemay dictate when a link to a television program should be provided inthe web-based content feed.

FIG. 11 is a flow chart for implementing the provision of a web-basedcontent feed in accordance with an embodiment of the present invention.Initially, a web-based content feed with a link to a television programis received (1100). The web-based content feed may be received by aset-top box.

Next, the web-based content feed is transmitted for display (1102). Theweb-based content feed may be displayed on the display for a set-top boxalong with media content received with the set-top box. For example, theweb-based content feed may be displayed at the bottom of a screen with atelevision program that the viewer has previously selected.

An indication may be received that the link has been selected (1104). Aviewer of a set-top box may use the set-top box user interface toindicate the selection of the link. After receiving an indication thatthe link has been selected (1104), a request is sent to receive theaudio and visual content for the television program at the set-top box(1106). In one or more embodiments, the receipt of the audio and visualcontent for the television program does not disturb the receipt of themedia content that the viewer of the set-top box previously selected.For example, the television program may be displayed with previouslyselected media content using picture-in-picture (PIP), the televisionprogram or the media content previously selected may be paused orrecorded on a digital video recorder or otherwise recorded ordownloaded. In an embodiment, when a content feed is received associatedwith a particular keyword, a television broadcast is automaticallyselected for display by a set-top box on a television without the needfor a viewer's selection of a link. In such an embodiment, a PIP may beutilized to display to a viewer a broadcast of a news event associatedwith a content feed of the viewer automatically without viewerintervention.

FIG. 12 depicts a user interface for implementing the provision of aweb-based content feed in accordance with an embodiment of the presentinvention. In FIG. 12, a web content feed user interface entitled “Webcontent feeds—User Settings” 1200 is provided as an example of aninterface for the present invention. It will be understood by those withskill in the art that any number of interfaces may be provided tocreate, delete, and update web content feed preferences. Embodiments ofthe present invention may request that security information be input inorder to create reminder notifications, such as a username and passwordas shown for “Account Number 1234567” in FIG. 12. The following ways toprovide input for creating content preferences are depicted 1202: a textinput for a content preference name and content preference is entitled“Feed Name-Content Preference,” a text input for a content feed entitled“Feed Site,” and a text input for a recipient entitled “ContentReceiver.” Examples of ways to present input to edit notificationpreferences are depicted in locations 1204 and 1206: a text input for acontent preference name entitled “Feed Name,” a text input for a contentpreference entitled “Content Preference,” a text input for a contentfeed entitled “Feed Site,” and a text input for a recipient entitled“Content Receiver.”

FIG. 13 depicts a user interface for implementing the provision of aweb-based content feed in accordance with an embodiment of the presentinvention. Media content 1300 received by a set-top box is displayed ona display 1300. A web-based content feed 1302 with content summary for anews item is displayed. The content summary on the web-based contentfeed is entitled “Embarq has new product” and has a link to “channel 4.”The web-based content feed provided in FIG. 13 corresponds to the“Content Preference A” 1204 in FIG. 12. The link provided in 1302 has akeyword “Embarq” indicated as a content preference in “ContentPreference A” 1204.

FIG. 14 depicts a system architecture in accordance with an embodimentof the present invention. The execution of instructions required topractice the invention may be performed by any number of computersystems 1400 as depicted in FIG. 14. As used herein, the terms computersystem and computing system are broadly used to describe any computingdevice that can store and independently run one or more programs,applications, scripts, or software processes/routines. Implementationsof the present invention may have a single computer system 1400 or anynumber of computer systems 1400.

Computer systems 1400 may communicate with other computersystems/devices with any number of communication interface(s) 1402. Thecommunication interface 1402 may provide the ability to transmit andreceive signals, such as electrical, electromagnetic or optical signals,that include data streams representing various types of information(e.g., messages, communications, instructions, and data). Thecommunication interface 1402 may provide an implementation for acommunication protocol. Instructions may be executed by the processor1408 upon receipt and/or stored in storage 1404 accessible to thecomputer system 1400.

Storage 1404 may be accessed by the computer system 1400 with a storageinterface 1406. The computer system 1400 may use the storage interface1406 to communicate with the storage 1404. The storage interface 1406may include a bus coupled to the storage and be able to transmit andreceive signals. Storage 1404 may include random access memory (RAM) orother dynamic storage devices, for storing dynamic data and instructionsexecuted by a processor 1408. Any number of Processor(s) 1408 may beused to execute instructions for the computer system 1400. Storage mayinclude, but is not limited to, read only memory (ROM), magnetic disks,flash drives, usb drives, and optical disks. A computer system 1400 maybe connected to a display 1410 for displaying information to a user.

“Computer usable medium” or “Computer readable medium” refers to anymedium that provides information or may be used by a processor 1408.Medium may include volatile and non-volatile storage mediums.

The detailed description provides examples of a small number ofembodiments for implementing the invention and is not intended to belimiting in scope.

What is claimed:
 1. A method for providing viewing notifications for aset-top box, comprising: storing usage information associated with amedia content received by the set-top box, the usage informationcontaining a length of time that the media content was displayed;determining, using a processor, whether a viewing notification is to besent to a particular user based on user preferences and the usageinformation; responsive to a determination that the viewing notificationis to be sent to the particular user, retrieving a notificationidentifier associated with the particular user and sending the viewingnotification regarding the usage information; receiving a response tothe viewing notification from the particular user, wherein the responseincludes a partial command that is interpreted based on the viewingnotification as a requested command to be performed by the set-top box;and performing, using the processor, the requested command.
 2. Themethod of claim 1, wherein the requested command is to record the mediacontent.
 3. The method of claim 1, wherein the requested command is toassociate the usage information corresponding to the media contentreceived by the set-top box with a user profile of a user of the set-topbox.
 4. The method of claim 1, wherein the requested command is to notretain the usage information corresponding to the media content beingreceived by the set-top box.
 5. The method of claim 1, wherein thenotification identifier associated with the particular user is to amobile device of the particular user, and wherein the notification issent as a text message to the mobile device.
 6. The method of claim 1,further comprising in response to receiving a request to display usageinformation, generating a calendar interface, and displaying the usageinformation in the calendar interface.
 7. The method of claim 1, furthercomprising generating content reminder notifications based on usageinformation associated with a user profile, and automatically insertingthe reminder notifications into a calendar application of a userassociated with the user profile.
 8. The method of claim 1, wherein therequested command is to block the displaying of the media content. 9.The method of claim 1, further comprising: determining commonly watchedmedia content that is associated with two or more of user profiles inresponse to a query, the two or more user profiles specified in thequery; and returning a list of the commonly watched media contentassociated with the two or more user profiles specified in the query.10. A set-top box comprising: a processor operable to execute a set ofinstructions; and a computer readable medium in communication with theprocessor, the computer readable medium operable to store the set ofinstructions, wherein the processor executes the set of instructions toperform operations comprising: storing usage information associated witha media content received by the set-top box, the usage informationcontaining a length of time that the media content was displayed;determining, using a processor, whether a viewing notification is to besent to a particular user based on user preferences and the usageinformation; responsive to a determination that the viewing notificationis to be sent to the particular user, retrieving a notificationidentifier associated with the particular user and sending the viewingnotification regarding the usage information; receiving a response tothe viewing notification from the particular user, wherein the responseincludes a partial command that is interpreted based on the viewingnotification as a requested command to be performed by the set-top box;and performing, using the processor, the requested command.
 11. Theset-top box of claim 10, wherein the operations further comprises:detecting a change of media content received at the set-top box; andupdating the usage information to include the change.
 12. The set-topbox of claim 11, wherein the operations further comprises determiningwhich of a set of different users of the set-top box viewed a particularmedia content based on a biometric input.
 13. The set-top box of claim12, wherein the biometric is a fingerprint obtained from a fingerprintreader of a remote control associated with the set-top box.
 14. Theset-top box of claim 11, wherein the operations further comprises:receiving a web-based content feed at the set-top box; identifying atelevision program related to a portion of the web-based content feed;identifying a user that watches the television program related to theportion of the web-based content feed based on the usage information;providing the portion of the web-based content feed in an Rich SiteSummary (RSS) feed to the user during a broadcast time of the televisionprogram, wherein the portion of the web content feed includes a link forretrieving the television program; and providing additional web-basedcontent that is subscribed to by the user in the RSS feed.
 15. Theset-top box of claim 16, wherein the operations further comprises:determining commonly watched media content that is associated with twoor more of the user profiles in response to a query; and returning alist of the commonly watched media content associated with the two ormore user profiles.
 16. A computer program product comprising anon-transitory computer usable medium having a computer readable programcode embodied therein, the computer readable program code includesinstructions that when executed causes one or more machines to performoperations comprising: storing usage information associated with a mediacontent received by the set-top box, the usage information containing alength of time that the media content was displayed; determining, usinga processor, whether a viewing notification is to be sent to aparticular user based on user preferences and the usage information;responsive to a determination that the viewing notification is to besent to the particular user, retrieving a notification identifierassociated with the particular user and sending the viewing notificationregarding the usage information; receiving a response to the viewingnotification from the particular user, wherein the response includes apartial command that is interpreted based on the viewing notification asa requested command to be performed by the set-top box; and performing,using the processor, the requested command.
 17. The computer programproduct of claim 16, wherein the operations further comprises: detectinga change of media content received at the set-top box; and updating theusage information to include the change.
 18. The computer programproduct of claim 16, wherein the requested command is to record themedia content.
 19. The computer program product of claim 16, wherein therequested command is to not retain the usage information correspondingto the media content being received by the set-top box.
 20. The computerprogram product of claim 16, wherein the operations further comprises:generating content reminder notifications based on usage informationassociated with a user profile, and automatically inserting the remindernotifications into a calendar application of a user associated with theuser profile.